<?php
class Observacion extends CI_Controller {
		
		function Observacion () {
			parent::__construct();
			
			$this->load->helper('url');
			$this->load->helper('form');

		}
		
		function index () {
			$data['title']='Observacion';
			$data['heading']='Agregar Observacion';
			
			$data['result']= $this->getAllOrderBy('id');
			$planificacion=new Entities\Planificacion;
			
			$observacion = new Entities\Observacion;
			$observacion->setIdplanificacion($planificacion);
			
			$data['registro']=$observacion;
			
			$data['action']='agregar';
			$data['submit']='Agregar';
			$this -> load -> view('observacion_view',$data);
		}
		
		public function getAll()
		{
		    $observacions = $this->doctrine->em->getRepository('Entities\Observacion')->findAll();
			return $observacions;
		}
		
		public function getAllOrderBy($orden)
		{
		    //
		    $permisos = $this->doctrine->em->createQuery('SELECT p FROM Entities\Observacion p ORDER BY p.'. $orden .' ASC')->getResult(); 
			return $permisos;
		}
		
		public function remove ($id)
		{
			$observacion = $this->doctrine->em->find('Entities\Observacion',$id);
			$this->doctrine->em->remove($observacion);
			$this->doctrine->em->flush();
			redirect('observacion');
		}
		
		public function agregar()
		{
			$observacion = new Entities\Observacion;
			$planificacion =$this->doctrine->em->find('Entities\Planificacion',$_POST["tx_planificacion"]);
			$observacion->setIdplanificacion($planificacion);    		
    		$observacion->setVersion($_POST["tx_version"]);
    		$observacion->setDescripcion($_POST["tx_descripcion"]);		
    		$this->doctrine->em->persist($observacion);
    		$this->doctrine->em->flush();
    		redirect('observacion');
 		}
		
		public function editar ($id)
		{
			$observacion = $this->doctrine->em->find('Entities\Observacion',$id);
			$data['title']='Observacion';
			$data['heading']='Actualizar Observacion';
			
			$data['result']= $this->getAllOrderBy('id');
			$data['registro']=$observacion;
			$data['action']='actualizar';
			$data['submit']='Actualizar';
			$this -> load -> view('observacion_view',$data);
		}
		
		public function actualizar($id)
		{
			
			$observacion = $this->doctrine->em->find('Entities\Observacion',$id);
			$planificacion =$this->doctrine->em->find('Entities\Planificacion',$_POST["tx_planificacion"]);
			$observacion->setIdplanificacion($planificacion);    		
    		$observacion->setVersion($_POST["tx_version"]);
    		$observacion->setDescripcion($_POST["tx_descripcion"]);			
    		$this->doctrine->em->persist($observacion);
    		$this->doctrine->em->flush();
    		redirect('observacion');
		}
}
?>